<html>
<head><meta charset="utf-8"><title>meeting 2021-03-09 · wg-traits · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/index.html">wg-traits</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html">meeting 2021-03-09</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="229552481"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229552481" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229552481">(Mar 09 2021 at 20:58)</a>:</h4>
<p>Hi <span class="user-group-mention" data-user-group-id="692">@WG-traits</span></p>



<a name="229552513"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229552513" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229552513">(Mar 09 2021 at 20:58)</a>:</h4>
<p>Meeting in 2ish minutes</p>



<a name="229552903"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229552903" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229552903">(Mar 09 2021 at 21:00)</a>:</h4>
<p>Okay, meeting time</p>



<a name="229552914"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229552914" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229552914">(Mar 09 2021 at 21:00)</a>:</h4>
<p>Hello all :)</p>



<a name="229552994"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229552994" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229552994">(Mar 09 2021 at 21:00)</a>:</h4>
<p>Hey <span aria-label="smile" class="emoji emoji-1f642" role="img" title="smile">:smile:</span></p>



<a name="229553008"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553008" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553008">(Mar 09 2021 at 21:00)</a>:</h4>
<p>Let's start with announcements and updates?</p>



<a name="229553089"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553089" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553089">(Mar 09 2021 at 21:01)</a>:</h4>
<p>I started looking at the coinduction PR</p>



<a name="229553109"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553109" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553109">(Mar 09 2021 at 21:01)</a>:</h4>
<p>I've this feeling like we can make it simpler</p>



<a name="229553135"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553135" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553135">(Mar 09 2021 at 21:01)</a>:</h4>
<p>Then i remembered that <span class="user-mention" data-user-id="365822">@FireFighterDuck</span> was saying something about a deadline of sorts</p>



<a name="229553155"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553155" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553155">(Mar 09 2021 at 21:01)</a>:</h4>
<p>I hope I didn't cause you any problems, <span class="user-mention" data-user-id="365822">@FireFighterDuck</span></p>



<a name="229553166"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553166" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553166">(Mar 09 2021 at 21:01)</a>:</h4>
<p>There are a couple PRs by <span class="user-mention" data-user-id="124288">@oli</span> regarding <code>type_alias_impl_trait</code> :) nice to see that</p>



<a name="229553179"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553179" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553179">(Mar 09 2021 at 21:01)</a>:</h4>
<p>yes!</p>



<a name="229553250"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553250" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553250">(Mar 09 2021 at 21:02)</a>:</h4>
<p>and <span class="user-mention" data-user-id="124288">@oli</span> told me that they wanted to talk about them, but I'm not sure what they wanted to say :)</p>



<a name="229553258"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553258" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553258">(Mar 09 2021 at 21:02)</a>:</h4>
<p><span class="user-mention" data-user-id="365822">@FireFighterDuck</span> said the 16th :)</p>



<a name="229553297"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553297" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthew Jasper <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553297">(Mar 09 2021 at 21:02)</a>:</h4>
<p>I had a look a <code>StreamingIterator</code> last week, I posted some notes in the topic for last weeks meeting but the short version is that <code>StreamingIterator</code> combinators don't really work without some changes to normalization (maybe we can get avoid lazy norm, but it will need more normalization)</p>



<a name="229553303"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553303" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553303">(Mar 09 2021 at 21:02)</a>:</h4>
<p>I better hurry then :)</p>



<a name="229553343"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553343" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553343">(Mar 09 2021 at 21:02)</a>:</h4>
<p>(Oli's PRs are <a href="https://github.com/rust-lang/rust/issues/82558">#82558</a> and <a href="https://github.com/rust-lang/rust/issues/82898">#82898</a>)</p>



<a name="229553414"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553414" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553414">(Mar 09 2021 at 21:03)</a>:</h4>
<p><span class="user-mention" data-user-id="116118">@Matthew Jasper</span> I feel like there are definitely some rough edges with normalization that are easier to hit with GATs</p>



<a name="229553439"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553439" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553439">(Mar 09 2021 at 21:03)</a>:</h4>
<p>if it helps <span class="user-mention" data-user-id="365822">@FireFighterDuck</span> I'd probably not be opposed to landing the PR and then revamping it :)</p>



<a name="229553521"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553521" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553521">(Mar 09 2021 at 21:03)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202021-03-09/near/229553439">said</a>:</p>
<blockquote>
<p>if it helps <span class="user-mention silent" data-user-id="365822">FireFighterDuck</span> I'd probably not be opposed to landing the PR and then revamping it :)</p>
</blockquote>
<p>Also good with me :) I definitely like the "land changes then iterate" approach</p>



<a name="229553607"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553607" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553607">(Mar 09 2021 at 21:04)</a>:</h4>
<p>(ps, completely off topic, but recent topics got a lot nicer!)</p>



<a name="229553707"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553707" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553707">(Mar 09 2021 at 21:05)</a>:</h4>
<p>any other announcements?</p>



<a name="229553711"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553711" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553711">(Mar 09 2021 at 21:05)</a>:</h4>
<p>Also, crater run for binder refactor PR (<a href="https://github.com/rust-lang/rust/issues/76814">#76814</a>) came back. Looks clean. But if someone with more experience reading crater reports could take a second look :)</p>



<a name="229553866"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553866" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553866">(Mar 09 2021 at 21:06)</a>:</h4>
<p>We can perhaps discuss more in a bit, but I've been doing some hacking related to that in regards to changing how we resolve late lifetimes (<a href="https://github.com/rust-lang/rust/issues/82743">#82743</a> as a start)</p>



<a name="229553891"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553891" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553891">(Mar 09 2021 at 21:06)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> told me that they've been talking to you a fair bit about this PR too :)</p>



<a name="229553912"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553912" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553912">(Mar 09 2021 at 21:06)</a>:</h4>
<p>Yes :)</p>



<a name="229553931"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553931" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553931">(Mar 09 2021 at 21:06)</a>:</h4>
<p>We've discussed a couple times</p>



<a name="229553978"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553978" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553978">(Mar 09 2021 at 21:06)</a>:</h4>
<p>I'm skimming the crater results</p>



<a name="229553979"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553979" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553979">(Mar 09 2021 at 21:06)</a>:</h4>
<p>I have some tasks out of that, that I need to start working on :)</p>



<a name="229553988"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553988" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553988">(Mar 09 2021 at 21:06)</a>:</h4>
<p>they look pretty darn good, there are some odd things in there</p>



<a name="229553992"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229553992" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229553992">(Mar 09 2021 at 21:06)</a>:</h4>
<p>While the current state is a bit hectic and requires kind of a lot to take in, they might be interested in some followup wor</p>



<a name="229554007"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229554007" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229554007">(Mar 09 2021 at 21:07)</a>:</h4>
<p>some overflows</p>



<a name="229554038"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229554038" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229554038">(Mar 09 2021 at 21:07)</a>:</h4>
<div class="codehilite"><pre><span></span><code>[INFO] [stderr]     Checking circular-error-reprod v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]
[INFO] [stderr] thread &#39;rustc&#39; has overflowed its stack
[INFO] [stderr] fatal runtime error: stack overflow
[INFO] [stderr]
[INFO] [stderr] thread &#39;rustc&#39; has overflowed its stack
[INFO] [stderr] fatal runtime error: stack overflow
[INFO] [stderr] error: could not compile `circular-error-reprod`
</code></pre></div>



<a name="229554048"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229554048" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229554048">(Mar 09 2021 at 21:07)</a>:</h4>
<p>also those!</p>



<a name="229554067"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229554067" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229554067">(Mar 09 2021 at 21:07)</a>:</h4>
<p>those probably need the "stack extender" thing inserted here or there</p>



<a name="229554091"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229554091" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229554091">(Mar 09 2021 at 21:07)</a>:</h4>
<p>but by and large it looks good, I'm not sure it's worth tracking these down yet</p>



<a name="229554136"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229554136" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229554136">(Mar 09 2021 at 21:08)</a>:</h4>
<p>I'm not sure if they are related, or spurious. Probably worth looking into a bit</p>



<a name="229554215"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229554215" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> FireFighterDuck <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229554215">(Mar 09 2021 at 21:08)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202021-03-09/near/229553439">said</a>:</p>
<blockquote>
<p>if it helps <span class="user-mention silent" data-user-id="365822">FireFighterDuck</span> I'd probably not be opposed to landing the PR and then revamping it :)</p>
</blockquote>
<p>Whatever you're okay with would work for me as well. I just wanted to include a short paragraph about the review process in my report, the PR doesn't need to be merged before you are okay with it. <span aria-label="smiley" class="emoji emoji-1f603" role="img" title="smiley">:smiley:</span></p>



<a name="229554462"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229554462" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229554462">(Mar 09 2021 at 21:09)</a>:</h4>
<p>ok, if it doesn't help you, let's keep it as aPR for now, but I promise you some feedback</p>



<a name="229554546"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229554546" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229554546">(Mar 09 2021 at 21:10)</a>:</h4>
<p>the short version is that I am wondering why we can't just track the top of the stack</p>



<a name="229554609"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229554609" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229554609">(Mar 09 2021 at 21:10)</a>:</h4>
<p>basically there is already a mechanism for "temporary cached results"</p>



<a name="229554616"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229554616" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229554616">(Mar 09 2021 at 21:10)</a>:</h4>
<p>and I'm trying to figure out why we need a new one</p>



<a name="229554635"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229554635" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229554635">(Mar 09 2021 at 21:10)</a>:</h4>
<p>I need to allocate an hour to walk through it again I guess:)</p>



<a name="229554805"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229554805" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229554805">(Mar 09 2021 at 21:12)</a>:</h4>
<p>Anyone been working on anything else?</p>



<a name="229555082"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555082" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555082">(Mar 09 2021 at 21:13)</a>:</h4>
<p>I know the last few meetings we haven't really had much to discuss</p>



<a name="229555129"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555129" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555129">(Mar 09 2021 at 21:13)</a>:</h4>
<p>We did say at one point that we should schedule a meeting to talk about lazy normalization</p>



<a name="229555147"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555147" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555147">(Mar 09 2021 at 21:13)</a>:</h4>
<p>yep</p>



<a name="229555179"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555179" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555179">(Mar 09 2021 at 21:14)</a>:</h4>
<p>But unsure exactly <em>when</em> we want to do that</p>



<a name="229555197"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555197" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555197">(Mar 09 2021 at 21:14)</a>:</h4>
<p><span class="user-mention" data-user-id="116118">@Matthew Jasper</span> had some stuff prepared</p>



<a name="229555227"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555227" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555227">(Mar 09 2021 at 21:14)</a>:</h4>
<p>Oh, well that's great</p>



<a name="229555231"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555231" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555231">(Mar 09 2021 at 21:14)</a>:</h4>
<p>I guess the question is whether he'd prefer to schedule that in advance</p>



<a name="229555249"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555249" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555249">(Mar 09 2021 at 21:14)</a>:</h4>
<p>well, I am not sure what I mean</p>



<a name="229555266"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555266" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555266">(Mar 09 2021 at 21:14)</a>:</h4>
<p>I think it might've been a topic with a bunch of notes ?</p>



<a name="229555299"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555299" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthew Jasper <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555299">(Mar 09 2021 at 21:14)</a>:</h4>
<p>We can pick one of the current wg traits meetings for it. Or schedule something else.</p>



<a name="229555353"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555353" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555353">(Mar 09 2021 at 21:15)</a>:</h4>
<p>I guess the question is how mcuh you want us to prepare in advance :)</p>



<a name="229555360"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555360" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555360">(Mar 09 2021 at 21:15)</a>:</h4>
<p>I'd be game to do it next week</p>



<a name="229555381"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555381" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555381">(Mar 09 2021 at 21:15)</a>:</h4>
<p>but I'd like some links to what to read up on</p>



<a name="229555384"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555384" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555384">(Mar 09 2021 at 21:15)</a>:</h4>
<p>That sounds good to me</p>



<a name="229555619"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555619" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555619">(Mar 09 2021 at 21:17)</a>:</h4>
<p>This week, I could potentially give some updates on recent progress ("progress") on the binder refactor PR</p>



<a name="229555661"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555661" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555661">(Mar 09 2021 at 21:17)</a>:</h4>
<p>I've had some lengthy discussions with <span class="user-mention" data-user-id="116009">@nikomatsakis</span> and <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> about bits and pieces</p>



<a name="229555679"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555679" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555679">(Mar 09 2021 at 21:17)</a>:</h4>
<p>let's do that</p>



<a name="229555682"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555682" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555682">(Mar 09 2021 at 21:17)</a>:</h4>
<p>But unsure if everyone else might be interested in getting a summary update</p>



<a name="229555690"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555690" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555690">(Mar 09 2021 at 21:17)</a>:</h4>
<p>Okay :)</p>



<a name="229555693"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555693" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555693">(Mar 09 2021 at 21:17)</a>:</h4>
<p>go for it</p>



<a name="229555705"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555705" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555705">(Mar 09 2021 at 21:17)</a>:</h4>
<p>Oof I'm not prepared</p>



<a name="229555707"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555707" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555707">(Mar 09 2021 at 21:18)</a>:</h4>
<p>But that's okay</p>



<a name="229555762"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555762" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555762">(Mar 09 2021 at 21:18)</a>:</h4>
<p>I've gone through this enough I should know it by heart</p>



<a name="229555811"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555811" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555811">(Mar 09 2021 at 21:18)</a>:</h4>
<p>Alright, so maybe let's just start by an overview of what we expect the PR to do</p>



<a name="229555837"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555837" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555837">(Mar 09 2021 at 21:19)</a>:</h4>
<p>(Actually there are some notes here: <a href="https://hackmd.io/zk5OcnysTJKK64iBr_002g">https://hackmd.io/zk5OcnysTJKK64iBr_002g</a>)</p>



<a name="229555908"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229555908" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229555908">(Mar 09 2021 at 21:19)</a>:</h4>
<p>Basically, in rustc, there is <code>struct Binder&lt;T&gt;(T)</code> and in Chalk there is <code>struct Binders&lt;T: HasInterner&gt;(T, T::BoundVars)</code></p>



<a name="229556022"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229556022" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229556022">(Mar 09 2021 at 21:20)</a>:</h4>
<p>more or less</p>



<a name="229556053"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229556053" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229556053">(Mar 09 2021 at 21:20)</a>:</h4>
<p>essentially, in Chalk, we know what bound vars are in <code>T</code></p>



<a name="229556216"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229556216" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229556216">(Mar 09 2021 at 21:21)</a>:</h4>
<p>Now, I've already got this implemented</p>



<a name="229556254"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229556254" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229556254">(Mar 09 2021 at 21:21)</a>:</h4>
<p>And we're now much better at keeping track of the bound vars as we move <code>T</code> around</p>



<a name="229556330"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229556330" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229556330">(Mar 09 2021 at 21:22)</a>:</h4>
<p>However, actually figuring out what those bound vars are turns out to be a bit difficult</p>



<a name="229556345"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229556345" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229556345">(Mar 09 2021 at 21:22)</a>:</h4>
<p>in a subtle way</p>



<a name="229556366"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229556366" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229556366">(Mar 09 2021 at 21:22)</a>:</h4>
<p>So, let's start with something simple</p>



<a name="229556412"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229556412" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229556412">(Mar 09 2021 at 21:22)</a>:</h4>
<p><code>fn foo&lt;T&gt;() where for&lt;'a&gt; T: Bar&lt;'a&gt;</code></p>



<a name="229556457"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229556457" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229556457">(Mar 09 2021 at 21:23)</a>:</h4>
<p>If we ask, "what are the bound vars on <code>T: Bar&lt;'a&gt;</code>, that's pretty simple: <code>['a]</code></p>



<a name="229556491"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229556491" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229556491">(Mar 09 2021 at 21:23)</a>:</h4>
<p>Next level of difficulty:</p>



<a name="229556603"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229556603" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229556603">(Mar 09 2021 at 21:24)</a>:</h4>
<p>Well</p>



<a name="229556618"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229556618" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229556618">(Mar 09 2021 at 21:24)</a>:</h4>
<p>Hmm, how do I want to summarize this</p>



<a name="229556639"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229556639" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229556639">(Mar 09 2021 at 21:24)</a>:</h4>
<p>Let's start with associated types</p>



<a name="229556649"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229556649" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229556649">(Mar 09 2021 at 21:24)</a>:</h4>
<p>So, imagine we have:</p>



<a name="229556678"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229556678" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229556678">(Mar 09 2021 at 21:24)</a>:</h4>
<p><code>fn foo&lt;T&gt;() where for&lt;'a&gt; T: Bar&lt;'a, As = &amp;'a ()</code></p>



<a name="229556767"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229556767" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229556767">(Mar 09 2021 at 21:25)</a>:</h4>
<p>Let's think about the predicates we generate: <code>for&lt;'a&gt; T: Bar&lt;'a&gt;</code> and <code>for&lt;'a&gt; &lt;T as Bar&lt;'a&gt;&gt;::As = &amp;'a ()</code></p>



<a name="229556781"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229556781" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229556781">(Mar 09 2021 at 21:25)</a>:</h4>
<p>Does everyone see that?</p>



<a name="229556958"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229556958" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229556958">(Mar 09 2021 at 21:26)</a>:</h4>
<p>Now let's look at</p>
<div class="codehilite"><pre><span></span><code>trait Foo&lt;&#39;a&gt; { type As; }
trait Bar&lt;&#39;b&gt;: for&lt;&#39;a&gt; Foo&lt;&#39;a&gt; {}
fn foo&lt;T&gt;() where for&lt;&#39;c&gt; T: Bar&lt;&#39;c, As = &amp;&#39;c ()&gt; {}
</code></pre></div>



<a name="229556987"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229556987" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229556987">(Mar 09 2021 at 21:27)</a>:</h4>
<p>And let's think about the predicates we generate</p>



<a name="229557047"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557047" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557047">(Mar 09 2021 at 21:27)</a>:</h4>
<p><code>for&lt;'c&gt; T: Bar&lt;'c&gt;</code> and <code>for&lt;'c&gt; &lt;T as Bar&lt;'c&gt;&gt;::As = &amp;'c ()</code></p>



<a name="229557058"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557058" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557058">(Mar 09 2021 at 21:27)</a>:</h4>
<p>But, this isn't quite correct</p>



<a name="229557085"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557085" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557085">(Mar 09 2021 at 21:27)</a>:</h4>
<p>Since <code>As</code> isn't defined on <code>Bar</code>, it's defined on <code>Foo</code></p>



<a name="229557179"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557179" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557179">(Mar 09 2021 at 21:28)</a>:</h4>
<p>So, that second predicate is actually <code>for&lt;'c&gt; &lt;T as Bar&lt;'a&gt;&gt;::As = &amp;'c ()</code></p>



<a name="229557184"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557184" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557184">(Mar 09 2021 at 21:28)</a>:</h4>
<p>Which, isn't correct</p>



<a name="229557209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557209">(Mar 09 2021 at 21:28)</a>:</h4>
<p>(Also, ignore that this isn't quite WF since <code>'c</code> isn't in the trait input types)</p>



<a name="229557268"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557268" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557268">(Mar 09 2021 at 21:29)</a>:</h4>
<p>because now <code>'a</code> is a bound var, but it's not in our list of bound vars <code>['c]</code></p>



<a name="229557292"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557292" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557292">(Mar 09 2021 at 21:29)</a>:</h4>
<p>Turns out, this is pretty simple to deal with</p>



<a name="229557335"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557335" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557335">(Mar 09 2021 at 21:29)</a>:</h4>
<p>We essentially just extend the bound vars with super trait HRTB vars</p>



<a name="229557397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557397">(Mar 09 2021 at 21:30)</a>:</h4>
<p>so our bound var list becomes <code>['c, 'a]</code></p>



<a name="229557429"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557429" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557429">(Mar 09 2021 at 21:30)</a>:</h4>
<p>And we get <code>for&lt;'c, 'a&gt; &lt;T as Bar&lt;'a&gt;&gt;::As = &amp;'c ()</code></p>



<a name="229557476"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557476" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557476">(Mar 09 2021 at 21:30)</a>:</h4>
<p>Now, in current rustc, this is all done sort of implicitly</p>



<a name="229557504"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557504" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557504">(Mar 09 2021 at 21:30)</a>:</h4>
<p>(<code>subst_supertrait</code> is the relevant fn)</p>



<a name="229557549"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557549" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557549">(Mar 09 2021 at 21:31)</a>:</h4>
<p>But, in the binder refactor PR, we actually have to be careful</p>



<a name="229557617"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557617" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557617">(Mar 09 2021 at 21:31)</a>:</h4>
<p>Since the <code>'a</code> we have to start references the bound var with index <code>0</code>, whereas in the final predicate, it references <code>1</code></p>



<a name="229557640"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557640" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557640">(Mar 09 2021 at 21:31)</a>:</h4>
<p>Again, this is <em>fairly</em> simple to handle</p>



<a name="229557656"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557656" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557656">(Mar 09 2021 at 21:32)</a>:</h4>
<p>Okay, so next problem:</p>



<a name="229557737"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557737" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557737">(Mar 09 2021 at 21:32)</a>:</h4>
<p>Well, before I go on, everyone good?</p>



<a name="229557746"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557746" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557746">(Mar 09 2021 at 21:32)</a>:</h4>
<p>Any questions?</p>



<a name="229557778"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557778" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557778">(Mar 09 2021 at 21:32)</a>:</h4>
<p>I'm with you so far :)</p>



<a name="229557789"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557789" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557789">(Mar 09 2021 at 21:32)</a>:</h4>
<p>(but then we've been over this a time or two)</p>



<a name="229557812"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557812" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557812">(Mar 09 2021 at 21:32)</a>:</h4>
<p>I guess I have one question</p>



<a name="229557822"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557822" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557822">(Mar 09 2021 at 21:32)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232957">Jack Huey</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202021-03-09/near/229557640">said</a>:</p>
<blockquote>
<p>Again, this is <em>fairly</em> simple to handle</p>
</blockquote>
<p>is this mostly being handled in <code>subst_supertrait</code>?</p>



<a name="229557823"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557823" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557823">(Mar 09 2021 at 21:32)</a>:</h4>
<p>Okay shoot :)</p>



<a name="229557825"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557825" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557825">(Mar 09 2021 at 21:32)</a>:</h4>
<p>I would've expected <code>as Foo</code> somewhere, but this works too I guess</p>



<a name="229557859"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557859" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557859">(Mar 09 2021 at 21:33)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> yes</p>



<a name="229557890"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557890" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557890">(Mar 09 2021 at 21:33)</a>:</h4>
<p><span class="user-mention silent" data-user-id="125131">detrumi</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202021-03-09/near/229557825">said</a>:</p>
<blockquote>
<p>I would've expected <code>as Foo</code> somewhere, but this works too I guess</p>
</blockquote>
<p>I think that's a typo</p>



<a name="229557899"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557899" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557899">(Mar 09 2021 at 21:33)</a>:</h4>
<p>Oops, yes</p>



<a name="229557965"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229557965" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229557965">(Mar 09 2021 at 21:34)</a>:</h4>
<p><code>for&lt;'c, 'a&gt; &lt;T as Foo&lt;'a&gt;&gt;::As = &amp;'c ()</code> is the final predicate</p>



<a name="229558025"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558025" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558025">(Mar 09 2021 at 21:34)</a>:</h4>
<p>Thanks <span class="user-mention" data-user-id="125131">@detrumi</span></p>



<a name="229558098"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558098" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558098">(Mar 09 2021 at 21:34)</a>:</h4>
<p>So, currently in rustc, there's a nightly feature called associated type bounds. It allows you to write something like <code>for&lt;'a&gt; T: Bar&lt;'a, As: Baz&lt;'a&gt;&gt;</code></p>



<a name="229558110"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558110" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558110">(Mar 09 2021 at 21:34)</a>:</h4>
<p>Where <code>Baz</code> is a new trait</p>



<a name="229558141"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558141" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558141">(Mar 09 2021 at 21:34)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232957">Jack Huey</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202021-03-09/near/229557179">said</a>:</p>
<blockquote>
<p>So, that second predicate is actually <code>for&lt;'c&gt; &lt;T as Bar&lt;'a&gt;&gt;::As = &amp;'c ()</code></p>
</blockquote>
<p>I'm not sure what kind of algorithm are you executing to come up with this, I'd have said <code>for&lt;'c, 'a&gt; &lt;T as Foo&lt;'a&gt;&gt;::As = &amp;'c ()</code> just right away but you're executing some intermediate steps that I don't remember why</p>



<a name="229558200"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558200" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558200">(Mar 09 2021 at 21:35)</a>:</h4>
<p>The "algorithm" is that we have to "upcast" the <code>T: Bar&lt;'c&gt;</code> predicate to <code>Foo</code></p>



<a name="229558203"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558203" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558203">(Mar 09 2021 at 21:35)</a>:</h4>
<p>So, that actually isn't generated anywhere</p>



<a name="229558231"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558231" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558231">(Mar 09 2021 at 21:35)</a>:</h4>
<p>It's more or less what you "might" expect</p>



<a name="229558308"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558308" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558308">(Mar 09 2021 at 21:36)</a>:</h4>
<p>We <em>do</em> actually just generate that final predicate</p>



<a name="229558315"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558315" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558315">(Mar 09 2021 at 21:36)</a>:</h4>
<p>(because <code>As</code> is defined in <code>Foo</code>)</p>



<a name="229558343"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558343" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558343">(Mar 09 2021 at 21:36)</a>:</h4>
<p>But I'm skipping over the implementation details</p>



<a name="229558371"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558371" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558371">(Mar 09 2021 at 21:36)</a>:</h4>
<p>actually, <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span>, it falls out from that code you were editing to eliminate the cycles</p>



<a name="229558382"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558382" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558382">(Mar 09 2021 at 21:36)</a>:</h4>
<p>if you recall, we were enumerating all the supertraits of things</p>



<a name="229558392"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558392" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558392">(Mar 09 2021 at 21:36)</a>:</h4>
<p>yep</p>



<a name="229558405"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558405" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558405">(Mar 09 2021 at 21:36)</a>:</h4>
<p>that was doing those upcasts</p>



<a name="229558430"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558430" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558430">(Mar 09 2021 at 21:37)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232957">Jack Huey</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202021-03-09/near/229558098">said</a>:</p>
<blockquote>
<p>So, currently in rustc, there's a nightly feature called associated type bounds. It allows you to write something like <code>for&lt;'a&gt; T: Bar&lt;'a, As: Baz&lt;'a&gt;&gt;</code></p>
</blockquote>
<p>Now, another way you could write this is <code>for&lt;'a&gt; T: Bar&lt;'a&gt;, for&lt;'a&gt; &lt;T as Bar&lt;'a&gt;::As: Baz&lt;'a&gt;</code></p>



<a name="229558438"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558438" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558438">(Mar 09 2021 at 21:37)</a>:</h4>
<p>so when we are looking for the <code>As</code> associated type</p>



<a name="229558466"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558466" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558466">(Mar 09 2021 at 21:37)</a>:</h4>
<p>we're actually looking at the <code>Foo</code> predicate</p>



<a name="229558639"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558639" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558639">(Mar 09 2021 at 21:38)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232957">Jack Huey</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202021-03-09/near/229558430">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="232957">Jack Huey</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202021-03-09/near/229558098">said</a>:</p>
<blockquote>
<p>So, currently in rustc, there's a nightly feature called associated type bounds. It allows you to write something like <code>for&lt;'a&gt; T: Bar&lt;'a, As: Baz&lt;'a&gt;&gt;</code></p>
</blockquote>
<p>Now, another way you could write this is <code>for&lt;'a&gt; T: Bar&lt;'a&gt;, for&lt;'a&gt; &lt;T as Bar&lt;'a&gt;::As: Baz&lt;'a&gt;</code></p>
</blockquote>
<p>But anyways, the same concern we have from before applies: the actual predicate that gets generated will actually look something like <code>...&lt;T as Foo&lt;'a&gt;&gt;...</code></p>



<a name="229558681"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558681" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558681">(Mar 09 2021 at 21:38)</a>:</h4>
<p>But coming back to the "simple" form : <code>for&lt;'a&gt; T: Bar&lt;'a, As: Baz&lt;'a&gt;&gt;</code></p>



<a name="229558724"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558724" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558724">(Mar 09 2021 at 21:39)</a>:</h4>
<p>What makes this complicated, is we can actually do something like <code>for&lt;'a&gt; T: Bar&lt;'a, As: for&lt;'b&gt; Baz&lt;'a, 'b&gt;&gt;</code></p>



<a name="229558738"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558738" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558738">(Mar 09 2021 at 21:39)</a>:</h4>
<p>Where we introduce new lifetimes in the inner trait ref</p>



<a name="229558774"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558774" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558774">(Mar 09 2021 at 21:39)</a>:</h4>
<p>And we're starting the get to the like key issue where the current PR fails</p>



<a name="229558779"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558779" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558779">(Mar 09 2021 at 21:40)</a>:</h4>
<p>(finally)</p>



<a name="229558906"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558906" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558906">(Mar 09 2021 at 21:40)</a>:</h4>
<p>When we ask for what bound vars are in scope for <code>...::As: Baz&lt;'a, 'b&gt;</code>, at first glance, it looks like <code>['a, 'b]</code></p>



<a name="229558997"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558997" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558997">(Mar 09 2021 at 21:41)</a>:</h4>
<p>at this point</p>



<a name="229558998"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229558998" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229558998">(Mar 09 2021 at 21:41)</a>:</h4>
<p>Ergh I changed lifetime names, so this might be confusing</p>



<a name="229559003"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229559003" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229559003">(Mar 09 2021 at 21:41)</a>:</h4>
<p>it might be useful for me to understand a bit more precisely</p>



<a name="229559007"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229559007" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229559007">(Mar 09 2021 at 21:41)</a>:</h4>
<p>where in the code these questions are coming up</p>



<a name="229559090"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229559090" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229559090">(Mar 09 2021 at 21:42)</a>:</h4>
<p>This would be in <code>instantiate_poly_trait_ref</code> in astconv/mod</p>



<a name="229559157"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229559157" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229559157">(Mar 09 2021 at 21:42)</a>:</h4>
<p>Let's change trait ref from above to <code>for&lt;'c&gt; T: Bar&lt;'c, As: for&lt;'b&gt; Baz&lt;'c, 'b&gt;&gt;</code> (just changing <code>'a</code> -&gt; <code>'c</code>)</p>



<a name="229559250"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229559250" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229559250">(Mar 09 2021 at 21:43)</a>:</h4>
<p>The predicate that gets generated by rustc ends up being <code>for&lt;'a, 'b, 'c&gt; &lt;T as Foo&lt;'a&gt;&gt;::As: Baz&lt;'c, 'b&gt;</code></p>



<a name="229559384"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229559384" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229559384">(Mar 09 2021 at 21:44)</a>:</h4>
<p>Here, not only are both the bound vars from <code>for&lt;'c&gt;</code> and <code>for&lt;'b&gt;</code> in scope, but also the super trait HRTB's <code>for&lt;'a&gt;</code></p>



<a name="229559424"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229559424" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229559424">(Mar 09 2021 at 21:44)</a>:</h4>
<p>And <em>that</em> ends up being the crux of the issue: keeping track of the lifetimes in scope</p>



<a name="229559508"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229559508" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229559508">(Mar 09 2021 at 21:45)</a>:</h4>
<p>And, moreso, making sure that when we lower the lifetimes in the final predicate, we're referring to the correct bound var index</p>



<a name="229559595"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229559595" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229559595">(Mar 09 2021 at 21:45)</a>:</h4>
<p>I'll pause here. Any questions?</p>



<a name="229559625"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229559625" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229559625">(Mar 09 2021 at 21:46)</a>:</h4>
<p>I have a question</p>



<a name="229559686"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229559686" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229559686">(Mar 09 2021 at 21:46)</a>:</h4>
<p>Let's hear it :)</p>



<a name="229559703"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229559703" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229559703">(Mar 09 2021 at 21:46)</a>:</h4>
<p>trying to think how to formulate it</p>



<a name="229559719"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229559719" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229559719">(Mar 09 2021 at 21:46)</a>:</h4>
<p>who has to compute the index, is maybe the question</p>



<a name="229559735"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229559735" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229559735">(Mar 09 2021 at 21:46)</a>:</h4>
<p>good question</p>



<a name="229559764"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229559764" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229559764">(Mar 09 2021 at 21:46)</a>:</h4>
<p>I guess that the region resolution code is managing that?</p>



<a name="229559775"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229559775" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229559775">(Mar 09 2021 at 21:46)</a>:</h4>
<p>So, as it is now, that's in <code>late/lifetimes</code>, yes</p>



<a name="229559792"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229559792" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229559792">(Mar 09 2021 at 21:47)</a>:</h4>
<p>But...not quite</p>



<a name="229559848"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229559848" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229559848">(Mar 09 2021 at 21:47)</a>:</h4>
<p>Since the approach in the current PR actually does some shifting based on the supertrait bound vars</p>



<a name="229559887"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229559887" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229559887">(Mar 09 2021 at 21:47)</a>:</h4>
<p>(which isn't entirely correct once you start nesting these)</p>



<a name="229559909"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229559909" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229559909">(Mar 09 2021 at 21:47)</a>:</h4>
<p>my belief is partly that this should be easy</p>



<a name="229559966"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229559966" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229559966">(Mar 09 2021 at 21:48)</a>:</h4>
<p>:P</p>



<a name="229559980"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229559980" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229559980">(Mar 09 2021 at 21:48)</a>:</h4>
<p>Well, you would think so</p>



<a name="229559990"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229559990" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229559990">(Mar 09 2021 at 21:48)</a>:</h4>
<p>our problems derive in part from the fact that we're forcing our predicates to have one level of binder</p>



<a name="229560011"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560011" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560011">(Mar 09 2021 at 21:48)</a>:</h4>
<p>Somewhat</p>



<a name="229560017"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560017" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560017">(Mar 09 2021 at 21:48)</a>:</h4>
<p>But</p>



<a name="229560031"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560031" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560031">(Mar 09 2021 at 21:48)</a>:</h4>
<p>in what way not?</p>



<a name="229560039"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560039" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560039">(Mar 09 2021 at 21:48)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232957">Jack Huey</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202021-03-09/near/229558430">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="232957">Jack Huey</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202021-03-09/near/229558098">said</a>:</p>
<blockquote>
<p>So, currently in rustc, there's a nightly feature called associated type bounds. It allows you to write something like <code>for&lt;'a&gt; T: Bar&lt;'a, As: Baz&lt;'a&gt;&gt;</code></p>
</blockquote>
<p>Now, another way you could write this is <code>for&lt;'a&gt; T: Bar&lt;'a&gt;, for&lt;'a&gt; &lt;T as Bar&lt;'a&gt;::As: Baz&lt;'a&gt;</code></p>
</blockquote>
<p>Going back to this</p>



<a name="229560056"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560056" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560056">(Mar 09 2021 at 21:48)</a>:</h4>
<p>You want those to be interchangable</p>



<a name="229560079"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560079" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560079">(Mar 09 2021 at 21:49)</a>:</h4>
<p>And it's a bit difficult if you have multiple levels of binders</p>



<a name="229560124"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560124" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560124">(Mar 09 2021 at 21:49)</a>:</h4>
<p>but, maybe not</p>



<a name="229560226"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560226" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560226">(Mar 09 2021 at 21:50)</a>:</h4>
<p>I'm not sure I follow this</p>



<a name="229560238"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560238" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560238">(Mar 09 2021 at 21:50)</a>:</h4>
<p>Well</p>



<a name="229560261"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560261" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560261">(Mar 09 2021 at 21:50)</a>:</h4>
<p>For <code>for&lt;'a&gt; T: Bar&lt;'a, As: for&lt;'b&gt; Baz&lt;'a, 'b&gt;&gt;</code></p>



<a name="229560316"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560316" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560316">(Mar 09 2021 at 21:51)</a>:</h4>
<p>I did try the naive thing of just lowering it so that <code>'a</code> in <code>Baz&lt;'a, 'b&gt;</code> essentially lowers to <code>'^1.0</code></p>



<a name="229560320"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560320" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560320">(Mar 09 2021 at 21:51)</a>:</h4>
<p>I guess my question is</p>



<a name="229560339"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560339" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560339">(Mar 09 2021 at 21:51)</a>:</h4>
<p>But that runs into problems</p>



<a name="229560340"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560340" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560340">(Mar 09 2021 at 21:51)</a>:</h4>
<p>those should be interchangeable, ok, but why is that more difficult?</p>



<a name="229560381"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560381" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560381">(Mar 09 2021 at 21:51)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232957">Jack Huey</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202021-03-09/near/229560339">said</a>:</p>
<blockquote>
<p>But that runs into problems</p>
</blockquote>
<p>At least, without a way to represent multiple levels of binders</p>



<a name="229560452"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560452" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560452">(Mar 09 2021 at 21:52)</a>:</h4>
<p>one thing I'm debating is having a repr that supports multiple levels of bindrs</p>



<a name="229560455"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560455" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560455">(Mar 09 2021 at 21:52)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202021-03-09/near/229560340">said</a>:</p>
<blockquote>
<p>those should be interchangeable, ok, but why is that more difficult?</p>
</blockquote>
<p>I'm not sure if it is</p>



<a name="229560466"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560466" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560466">(Mar 09 2021 at 21:52)</a>:</h4>
<p>and then "collapsing" them</p>



<a name="229560480"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560480" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560480">(Mar 09 2021 at 21:52)</a>:</h4>
<p>I think that collapsing them is easy</p>



<a name="229560503"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560503" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560503">(Mar 09 2021 at 21:52)</a>:</h4>
<p>I've thought about that too</p>



<a name="229560507"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560507" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560507">(Mar 09 2021 at 21:52)</a>:</h4>
<p>and generating multiple levels <em>ought to be</em> easy (but I could be wrong)</p>



<a name="229560538"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560538" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560538">(Mar 09 2021 at 21:52)</a>:</h4>
<p>One problem is that there are plenty of places in the compiler that we ask for an arbitrary hir ty to be lowered</p>



<a name="229560561"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560561" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560561">(Mar 09 2021 at 21:53)</a>:</h4>
<p>And so we have to have "precomputed" the lifetimes/binders</p>



<a name="229560642"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560642" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560642">(Mar 09 2021 at 21:53)</a>:</h4>
<p>ok</p>



<a name="229560765"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560765" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560765">(Mar 09 2021 at 21:54)</a>:</h4>
<p>I'm not sure yet if this is a problem</p>



<a name="229560796"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560796" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560796">(Mar 09 2021 at 21:54)</a>:</h4>
<p>my expectation is</p>



<a name="229560819"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560819" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560819">(Mar 09 2021 at 21:54)</a>:</h4>
<p>we should be computing those indices and things based on what's "naively" in the tree</p>



<a name="229560831"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560831" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560831">(Mar 09 2021 at 21:55)</a>:</h4>
<p>I can't imagine any other approach being sustainable</p>



<a name="229560868"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560868" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560868">(Mar 09 2021 at 21:55)</a>:</h4>
<p>so I guess the problem has to arise when that is...somehow...wrong</p>



<a name="229560898"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560898" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560898">(Mar 09 2021 at 21:55)</a>:</h4>
<p>define "naively"</p>



<a name="229560905"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560905" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560905">(Mar 09 2021 at 21:55)</a>:</h4>
<p>maybe we should dig a more into where the <code>As: Foo</code> lowering happens</p>



<a name="229560935"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560935" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560935">(Mar 09 2021 at 21:55)</a>:</h4>
<p>If you mean just <code>for&lt;'c&gt; for&lt;'b&gt;</code>, then <em>yes</em></p>



<a name="229560959"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229560959" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229560959">(Mar 09 2021 at 21:55)</a>:</h4>
<p>that's immediately wrong when considering supertrait HRTBs</p>



<a name="229561136"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229561136" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229561136">(Mar 09 2021 at 21:56)</a>:</h4>
<p><code>As: Foo</code> lowering happens in <code>astconv/mod</code> I think <code>add_predicates_for_ast_type_binding</code> and <code>add_bounds</code></p>



<a name="229561241"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229561241" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229561241">(Mar 09 2021 at 21:57)</a>:</h4>
<p>what i meant is that if you have <code>for&lt;'a&gt; T: Bar&lt;for&lt;'b&gt; As: Bar&lt;'b&gt;&gt;</code>, then i expect the <code>'b</code> to be computed under 2 levels of binder</p>



<a name="229561248"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229561248" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229561248">(Mar 09 2021 at 21:57)</a>:</h4>
<p>Did anyone else have questions?</p>



<a name="229561270"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229561270" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229561270">(Mar 09 2021 at 21:57)</a>:</h4>
<p>I'm thining we should schedule a follow-up</p>



<a name="229561277"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229561277" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229561277">(Mar 09 2021 at 21:57)</a>:</h4>
<p>maybe tomorrow?</p>



<a name="229561312"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229561312" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229561312">(Mar 09 2021 at 21:58)</a>:</h4>
<p>while this remains fresh in my brain</p>



<a name="229561351"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229561351" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229561351">(Mar 09 2021 at 21:58)</a>:</h4>
<p>Potentially, yeah. If it's early morning</p>



<a name="229561425"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229561425" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229561425">(Mar 09 2021 at 21:58)</a>:</h4>
<p>how early? :)</p>



<a name="229561433"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229561433" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229561433">(Mar 09 2021 at 21:59)</a>:</h4>
<p>9?</p>



<a name="229561451"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229561451" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229561451">(Mar 09 2021 at 21:59)</a>:</h4>
<p>Before 10</p>



<a name="229561525"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229561525" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229561525">(Mar 09 2021 at 21:59)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202021-03-09/near/229561241">said</a>:</p>
<blockquote>
<p>what i meant is that if you have <code>for&lt;'a&gt; T: Bar&lt;for&lt;'b&gt; As: Bar&lt;'b&gt;&gt;</code>, then i expect the <code>'b</code> to be computed under 2 levels of binder</p>
</blockquote>
<p>can you explain the meaning of this?</p>



<a name="229561578"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229561578" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229561578">(Mar 09 2021 at 21:59)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202021-03-09/near/229561241">said</a>:</p>
<blockquote>
<p>what i meant is that if you have <code>for&lt;'a&gt; T: Bar&lt;for&lt;'b&gt; As: Bar&lt;'b&gt;&gt;</code>, then i expect the <code>'b</code> to be computed under 2 levels of binder</p>
</blockquote>
<p>Well, that's how it's currently done. The problem is that you then have to go back and know as you lower <code>for&lt;'b&gt; As: Bar&lt;'b&gt;</code> that <code>for&lt;'a&gt;</code> is in scope (and the supertrait bounds)</p>



<a name="229561594"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229561594" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229561594">(Mar 09 2021 at 22:00)</a>:</h4>
<p>what did you mean by two level of binders?</p>



<a name="229561744"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229561744" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229561744">(Mar 09 2021 at 22:00)</a>:</h4>
<p><code>for&lt;'a&gt;</code> and <code>for&lt;'b&gt;</code></p>



<a name="229561781"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229561781" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229561781">(Mar 09 2021 at 22:00)</a>:</h4>
<p>ahh right :)</p>



<a name="229561937"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229561937" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229561937">(Mar 09 2021 at 22:00)</a>:</h4>
<p>I'm not sure what we currently do or what we plan to do, but isn't that <code>for&lt;'a, 'b&gt;</code></p>



<a name="229562050"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229562050" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229562050">(Mar 09 2021 at 22:01)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232957">Jack Huey</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202021-03-09/near/229561578">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202021-03-09/near/229561241">said</a>:</p>
<blockquote>
<p>what i meant is that if you have <code>for&lt;'a&gt; T: Bar&lt;for&lt;'b&gt; As: Bar&lt;'b&gt;&gt;</code>, then i expect the <code>'b</code> to be computed under 2 levels of binder</p>
</blockquote>
<p>Well, that's how it's currently done. The problem is that you then have to go back and know as you lower <code>for&lt;'b&gt; As: Bar&lt;'b&gt;</code> that <code>for&lt;'a&gt;</code> is in scope (and the supertrait bounds)</p>
</blockquote>
<p>You <em>can</em> know this when you <code>instantiate</code> the full trait ref, if you keep track of everything (and I've done this and it works</p>



<a name="229562053"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229562053" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229562053">(Mar 09 2021 at 22:01)</a>:</h4>
<p>unsure if that also qualifies as 2 level of binders also or it's just one level</p>



<a name="229562153"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229562153" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229562153">(Mar 09 2021 at 22:01)</a>:</h4>
<p>But, again, it becomes a problem when you want to ask to lower a <em>specific</em> hir ty</p>



<a name="229562416"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229562416" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229562416">(Mar 09 2021 at 22:02)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> so <code>for&lt;'a&gt; for&lt;'b&gt;</code> is pretty close to <code>for&lt;'a, 'b&gt;</code></p>



<a name="229562477"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229562477" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229562477">(Mar 09 2021 at 22:02)</a>:</h4>
<p>In our case, we should be able to convert one to the other</p>



<a name="229562546"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229562546" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229562546">(Mar 09 2021 at 22:02)</a>:</h4>
<p>Assuming we keep track of the debruijn indices and var indices inside</p>



<a name="229563537"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229563537" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229563537">(Mar 09 2021 at 22:07)</a>:</h4>
<p>(Also, thanks everyone for indulging me in my long-winded summary)</p>



<a name="229572134"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229572134" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mario Carneiro <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229572134">(Mar 09 2021 at 23:02)</a>:</h4>
<p>(deleted)</p>



<a name="229578700"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229578700" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229578700">(Mar 09 2021 at 23:59)</a>:</h4>
<p><span class="user-mention" data-user-id="232957">@Jack Huey</span> regarding tomorrow -- maybe <time datetime="2021-03-10T15:00:00Z">2021-03-10T10:00:00-05:00</time></p>



<a name="229578806"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229578806" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229578806">(Mar 10 2021 at 00:00)</a>:</h4>
<p>Sure, but I'll have to call it at the hour if we make it there</p>



<a name="229578919"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229578919" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229578919">(Mar 10 2021 at 00:01)</a>:</h4>
<p>Also btw I think I've basically got things working how I want them too. Gonna hack on that and we can discuss tomorrow. (there are some things related more directly to <a href="https://github.com/rust-lang/rust/issues/82743">#82743</a>) that I need to work out too</p>



<a name="229588901"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229588901" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229588901">(Mar 10 2021 at 01:50)</a>:</h4>
<p><span class="user-mention" data-user-id="232957">@Jack Huey</span> <span class="user-mention" data-user-id="116009">@nikomatsakis</span> please ping me or the group, interested in participating :)</p>



<a name="229589035"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229589035" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229589035">(Mar 10 2021 at 01:52)</a>:</h4>
<p>Will do :)</p>



<a name="229591549"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229591549" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229591549">(Mar 10 2021 at 02:23)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232957">Jack Huey</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202021-03-09/near/229578806">said</a>:</p>
<blockquote>
<p>Sure, but I'll have to call it at the hour if we make it there</p>
</blockquote>
<p>ok, I may be availlable earlier</p>



<a name="229592032"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-03-09/near/229592032" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-03-09.html#229592032">(Mar 10 2021 at 02:28)</a>:</h4>
<p>No worries if you aren't</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>